﻿using System;
using System.Runtime.Serialization;

#pragma warning disable 0649

namespace BattleNet.D3
{
    /// <summary>
    /// 
    /// </summary>
    [DataContract]
    public class Hero : HeroExtendedBase
    {
        /// <summary>
        /// 
        /// </summary>
        [DataMember(Name = "skills")]
        private Skills _skills;
        /// <summary>
        ///
        /// </summary>
        public Skills Skills
        {
            get { return this._skills; }
        }

        /// <summary>
        /// 
        /// </summary>
        [DataMember(Name = "followers")]
        private HeroFollowers _followers;
        /// <summary>
        ///
        /// </summary>
        public HeroFollowers Followers
        {
            get { return this._followers; }
        }
        
        /// <summary>
        /// 
        /// </summary>
        [DataMember(Name = "progression")]
        private Progression _progression;
        /// <summary>
        /// 
        /// </summary>
        public Progression Progression
        {
            get { return this._progression; }
        }

        /// <summary>
        /// 
        /// </summary>
        [DataMember(Name = "lastUpdated")]
        private long _lastUpdated;
        /// <summary>
        /// 
        /// </summary>
        public DateTime LastUpdated
        {
            get { return BattleNet.UnixTimeStampToDateTime(this._lastUpdated); }
        }

        /// <summary>
        /// 
        /// </summary>
        [DataMember(Name = "dead")]
        private bool _dead;
        /// <summary>
        /// 
        /// </summary>
        public bool Dead
        {
            get { return this._dead; }
        }
        
        /// <summary>
        /// 
        /// </summary>
        public Hero()
            : base()
        { 
        }
    }
}
